package com.foodndate.food.events;

import java.io.File;
import java.util.List;
import java.io.IOException;
import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.web.multipart.MultipartFile;


@Repository
public class EventDao {
	EventDto dto = new EventDto();
	
	@Autowired private SqlSession sql;

	//이벤트등록
	public void insert(EventDto event) {
		
		MultipartFile file1=event.getEVENT_IMAGE1();
		MultipartFile file2=event.getEVENT_IMAGE2();
	
		
		String originName1 = file1.getOriginalFilename();
		String originName2 = file2.getOriginalFilename();
		
		String extend1 = originName1.substring(originName1.lastIndexOf(".") - 1, originName1.length());
		String extend2 = originName2.substring(originName2.lastIndexOf(".") - 1, originName2.length());
		
		//파일명 마지막부터 확장자까지
		
		//String imageName = file.getOriginalFilename();
		String imageName1 = System.currentTimeMillis() + file1.getSize() + extend1;
		String imageName2 = System.currentTimeMillis() + file2.getSize() + extend2;
		
		//현재시간+파일사이즈+extend를 더해 파일명을 다시 만듦
		String path="C:/Spring/workspace/food/src/main/webapp/resources/events";
		
		
		try{
			file1.transferTo(new File(path+"/"+imageName1));  //해당하는 경로에 파일 저장
			file2.transferTo(new File(path+"/"+imageName2));  //해당하는 경로에 파일 저장
			
		}
		catch (IllegalStateException e){
			e.printStackTrace();
		}
		catch (IOException e){
			e.printStackTrace();
		}
		event.setEVENT_IMAGENAME1(imageName1);
		event.setEVENT_IMAGENAME2(imageName2);
		sql.insert("event.insert",event);
		
	}
	
	//이벤트목록
	public List<EventDto> listinfo() {
		
		return sql.selectList("event.select", dto); 
	}
	
	//수정검색조건불러오기
	public EventDto testinfo(String num) {
		return sql.selectOne("event.select2", num); 
	}
	
	//삭제
	public void delete(int num){
		sql.delete("event.delete", num);
	}
	
	//수정
	public int update (EventDto eventdto, int num) {
		
		eventdto.setEVENT_NUM(num);
		MultipartFile file1=eventdto.getEVENT_IMAGE1();
		MultipartFile file2=eventdto.getEVENT_IMAGE2();
	
		
		String originName1 = file1.getOriginalFilename();
		String originName2 = file2.getOriginalFilename();
		
		String extend1 = originName1.substring(originName1.lastIndexOf(".") - 1, originName1.length());
		String extend2 = originName2.substring(originName2.lastIndexOf(".") - 1, originName2.length());
		
		//파일명 마지막부터 확장자까지
		
		//String imageName = file.getOriginalFilename();
		String imageName1 = System.currentTimeMillis() + file1.getSize() + extend1;
		String imageName2 = System.currentTimeMillis() + file2.getSize() + extend2;
		
		//현재시간+파일사이즈+extend를 더해 파일명을 다시 만듦
		String path="C:/Spring/workspace/food/src/main/webapp/resources/events";
		
		
		try{
			file1.transferTo(new File(path+"/"+imageName1));  //해당하는 경로에 파일 저장
			file2.transferTo(new File(path+"/"+imageName2));  //해당하는 경로에 파일 저장
			
		}
		catch (IllegalStateException e){
			e.printStackTrace();
		}
		catch (IOException e){
			e.printStackTrace();
		}
		eventdto.setEVENT_IMAGENAME1(imageName1);
		eventdto.setEVENT_IMAGENAME2(imageName2);
		
		return sql.update("event.update", eventdto);
		
	}
	
}
